<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>



    <script>

        //小端模式
        function IntToBytesLittleEndian(number, length) {
            var bytes = [];
            var i = 0;
            do {
                bytes[i++] = number & (255);
                number = number >> 8;
            } while (i < length)
            return bytes;
        }
        console.log(IntToBytesLittleEndian(1, 4)) //[1,0,0,0]

        //大端模式
        function IntToBytesBigEndian(number, length) {
            var bytes = [];
            var i = length;
            do {
                bytes[--i] = number & (255);
                number = number >> 8;
            } while (i)
            return bytes;
        }
        console.log(IntToBytesBigEndian(1, 4)) //[0,0,0,1]
        /*
         计算机电路先处理低位字节，效率比较高，因为计算都是从低位开始的。所以，计算机的内部处理都是小端字节序。但是，人类还是习惯读写大端字节序。所以，除了计算机的内部处理，其他的场合几乎都是大端字节序，比如网络传输和文件储存。（计算机内部都是使用小端字节这点不严谨，有人说是因为不同公司的习惯而已，因为X86和ARM架构是使用小端，但IBM的PowerPC是用大端，但这里不深究）

         一般向外部写入数据是不需要管什么字节序的，直接用本机字节序即可，因为被写入的设备会有对应的驱动去判断字节序并正确读取数据。
        */


    </script>


</body>

</html>